<?php header("Content-Type: text/html; charset=utf-8",true);
include_once("../../includes/cls.config.php");
include_once("cls.base.php");

class edicao extends base
{
	public $id;
	public $id_idioma;
	public $publicar;
	public $especial;
	public $ano;
	public $numero;
	public $data;
	public $nome;
	public $imagem;
	public $situacao;
	public $_sTabela;
	public $_db;
	public $_dataFiltro;
	
	//Construtor da classe edicao
	public function __construct()
	{
		$this->_sTabela = "revista";
		$this->_db = new mysql();
	}
	
	//M�todo (select_edicao): exibir todas as edi��es ou exibe pelo ano da data.
	public function select_edicao( $item = null )
	{
		$sql = "SELECT r.id, r.especial, r.publicar, r.ano, r.data, r.nome, i.id as id_idioma, i.sigla FROM revista r INNER JOIN idioma i ON r.id_idioma = i.id WHERE r.situacao = 1 AND i.situacao = 1 ";
		
		//Se houver argumentos do tipo data a string ($sql) � adicionado a cl�usura WHERE que filtra pelo ano da data
		if( ! empty( $item ) )
		{
			$sql .= "AND YEAR(r.data) = " . $item . "";
		}
		
		$sql .= " ORDER BY r.data DESC";
		
		//$this->x($sql);
		
		$pRetorno = $this->_db->qry( $sql ) or die ( mysql_error() );
		$aSaida = array();
				
		while($aDados = mysql_fetch_array( $pRetorno, MYSQL_ASSOC ) )
		{
			$aSaida[] = $aDados;
		}
		return $aSaida;
	}
	
	
	//M�todo (select_edicao): exibir todas as edi��es ou exibe pelo ano da data.
	public function select_edicao_lixeira()
	{
		$sql = "SELECT r.id, r.especial, r.publicar, r.ano, r.data, r.nome, i.sigla FROM revista r INNER JOIN idioma i ON r.id_idioma = i.id WHERE r.situacao = 0 ";
		
		//$this->x($sql);
		
		$pRetorno = $this->_db->qry( $sql );
		$aSaida = array();
				
		while($aDados = mysql_fetch_array( $pRetorno, MYSQL_ASSOC ) )
		{
			$aSaida[] = $aDados;
		}
		return $aSaida;
	}

	//M�todo (situacao): Restaura da lixeira e lista em edi��es!!!
	public function situacao( $item )
	{
		$sql = "UPDATE revista SET situacao = 1 WHERE id = " . $item;
		return $this->_db->qry( $sql );
	}

	
	
	//M�todo (publicar): Define a revista corrente.
	public function publicar( $item , $id_idioma )
	{
		$sql = "UPDATE revista SET publicar = 0 WHERE id_idioma = " . $id_idioma;
		$this->_db->qry( $sql );
		$sql = "UPDATE revista SET publicar = 1 WHERE id = '" . $item . "'";
		return $this->_db->qry( $sql );
	}

	//M�todo (especial): Define se a edi��o da revista � especial ou n�o.
	public function especial( $item, $acao )
	{
		if($acao == "especial_ativar")
		{
			$sql = "UPDATE revista SET especial = 1 WHERE id = '" . $item . "'";
			return $this->_db->qry( $sql );
		}
		else
		{
			$sql = "UPDATE revista SET especial = 0 WHERE id = '" . $item . "'";
			return $this->_db->qry( $sql );
		}
	}
	
	// M�todo (select_idioma): Carrega o controle select (id_idioma) em frm.edicao.php
	public function select_idioma()
	{		
		$sql = 'SELECT * FROM idioma WHERE situacao = 1';
		$resultado = $this->_db->qry( $sql );
		$linha = mysql_num_rows($resultado);
		if($linha > 0)
		{
			$opt = '<option value="">(escolha o idioma)</option>'; 
			for($i=0; $i < $linha; $i++)
			{
				if($this->id_idioma == mysql_result($resultado, $i, "id"))
				{
					$opt .= '<option value="'. mysql_result($resultado, $i, "id") . '" selected>' . mysql_result($resultado, $i, "nome") . '</option>';
				}
				else
				{
					$opt .= '<option value="'. mysql_result($resultado, $i, "id") . '">' . mysql_result($resultado, $i, "nome") . '</option>';
				}
			}	
		}
		return $opt;
	}
	
	// M�todo (select_data_filter): Carrega o controle select (data_filter) em frm.edicao.php
	public function select_data_filter()
	{		
		$sql = 'SELECT DISTINCT(YEAR(data)) AS ano FROM revista WHERE situacao = 1';
		$resultado = $this->_db->qry( $sql );
		$linha = mysql_num_rows($resultado);
		if($linha > 0)
		{
			$opt = '<option value="">(ano)</option>'; 
			for($i=0; $i < $linha; $i++)
			{
				$opt .= '<option value="'. mysql_result($resultado, $i, "ano") . '">' . mysql_result($resultado, $i, "ano") . '</option>';
			}	
		}
		return $opt;
	}

	//M�todo (select_edicao_controle): Recebe o id da edi��o e retorna um array de dados;
	public function select_edicao_controle( $item )
	{
		$sql = "SELECT r.id, r.especial, r.publicar, r.ano, r.data, r.nome, i.sigla FROM revista r INNER JOIN idioma i ON r.id_idioma = i.id  WHERE r.id = " . $item;
				
		$pRetorno = $this->_db->qry( $sql ) or die (mysql_error());
		$aSaida = array();
				
		while($aDados = mysql_fetch_array( $pRetorno, MYSQL_ASSOC ) )
		{
			$aSaida[] = $aDados;
		}
		return $aSaida;
	}

	public function carregar_imagem( $item , $img )
	{
			$sql = "UPDATE revista SET imagem = '" . $img . "' WHERE id = '" . $item . "'";
			return $this->_db->qry( $sql ) or die (mysql_error());
	}

}